package com.ruoyi.system.service;

import java.time.LocalDateTime;
import java.util.List;

import com.ruoyi.system.domain.WxCheckoutBody;
import com.ruoyi.system.domain.WxRecords;


/**
 * 游戏记录Service接口
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public interface IWxRecordsService 
{
    /**
     * 查询游戏记录
     * 
     * @param id 游戏记录主键
     * @return 游戏记录
     */
    public WxRecords selectWxRecordsById(Long id);

    /**
     * 查询游戏记录列表
     * 
     * @param wxRecords 游戏记录
     * @return 游戏记录集合
     */
    public List<WxRecords> selectWxRecordsList(WxRecords wxRecords);

    /**
     * 新增游戏记录
     * 
     * @param wxRecords 游戏记录
     * @return 结果
     */
    public int insertWxRecords(WxRecords wxRecords);

    /**
     * 修改游戏记录
     * 
     * @param wxRecords 游戏记录
     * @return 结果
     */
    public int updateWxRecords(WxRecords wxRecords);

    /**
     * 批量删除游戏记录
     * 
     * @param ids 需要删除的游戏记录主键集合
     * @return 结果
     */
    public int deleteWxRecordsByIds(Long[] ids);

    /**
     * 删除游戏记录信息
     * 
     * @param id 游戏记录主键
     * @return 结果
     */
    public int deleteWxRecordsById(Long id);


    public int startGame(WxRecords record);


    public int endGame(WxRecords record);

    public WxRecords getActiveRecord(WxRecords record);

    //public int saveUser(WxUser user);


    /**
     * 游戏记录结账
     *
     * @param body 结账实体
     * @return 游戏记录
     */
    public int checkout(WxCheckoutBody body);

    /**
     * 游戏记录结账
     *
     * @param body 结账实体
     * @return 游戏记录
     */
    public int checkoutWhitoutVip(WxCheckoutBody body);

    /**
     * 手机端单独结账
     *
     * @param record 游戏记录
     * @return 游戏记录
     */
    public int checkoutOne(WxRecords record);

}
